package com.ecjtu.stadiumre_servations.entity.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@Data
/**
* 拼团记录表
* @TableName group_record
*/
public class GroupRecord implements Serializable {

    /**
    * 记录ID
    */
    @TableId(value = "record_id", type = IdType.INPUT)
    @NotBlank(message="[记录ID]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("记录ID")
    @Length(max= 50,message="编码长度不能超过50")
    private String recordId;
    /**
    * 活动ID
    */
    @NotBlank(message="[活动ID]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("活动ID")
    @Length(max= 50,message="编码长度不能超过50")
    private String activityId;
    /**
    * 团长用户ID
    */
    @NotBlank(message="[团长用户ID]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("团长用户ID")
    @Length(max= 50,message="编码长度不能超过50")
    private String leaderUserId;
    /**
    * 当前人数
    */
    @NotNull(message="[当前人数]不能为空")
    @ApiModelProperty("当前人数")
    private Integer currentSize;
    /**
     * 活动需要人数
     */
    @NotNull(message="[活动需要人数]不能为空")
    @ApiModelProperty("活动需要人数")
    private Integer targetSize;
    /**
     * 预约开始时间
     */
    @NotNull(message="[预约开始时间]不能为空")
    @ApiModelProperty("预约开始时间")
    private LocalDateTime startTime;
    /**
     * 预约结束时间
     */
    @NotNull(message="[预约结束时间]不能为空")
    @ApiModelProperty("预约结束时间")
    private LocalDateTime endTime;
    /**
    * 状态：0-拼团中，1-已成团，2-已过期
    */
    @NotBlank(message="[状态：0-拼团中，1-已成团，2-已过期]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("状态：0-拼团中，1-已成团，2-已过期")
    @Length(max= 20,message="编码长度不能超过20")
    private String recordStatus;
    /**
    * 创建时间
    */
    @NotNull(message="[创建时间]不能为空")
    @ApiModelProperty("创建时间")
    private LocalDateTime recordCreateTime;
    /**
    * 更新时间
    */
    @NotNull(message="[更新时间]不能为空")
    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;



}
